目前這個系列已挑選ChatGPT、前端&React相關章節出版成書!
感謝大家的閱讀與支持!
《用 ChatGPT 詠唱來點亮 React & 前端技能樹》
歷經重新整理、校正、編排、與修改後,讓章節內容之間的銜接更平順,除了補充上更多的解說之外,甚至有部分章節為重新撰寫的內容,讓理解變得更輕鬆!
目前已在天瓏書局、博客來、金石堂等通路都買得到了! 也有電子書的選擇!
歡迎各位點擊連結選購,謝謝大家~
上一篇提到,簡單的算術問題不要丟給ChatGPT,但如果是比較複雜的呢?
像是,前陣子我看到一篇文章
大意是說,如果將英文字母一對一的轉換成數字,也就是
a = 1 , b= 2, c=3 …. z = 26,若單字之間的空格不算數字,哪個句子或單字總和可以是100呢?
Knowledge = 96
Hardwork = 98
什麼是100呢? 你以為我要回答Attitude嗎
不,是IMPOTENCE (陽痿)
這個題目如果直接丟到ChatGPT請他幫你找更多類似的單字
我必須直接跟你說,他不會找,他會給你錯誤的答案
因為ChatGPT不會算術、不會運算
因此,像是這類的問題,應該要用程式解決!
可以挑一個你比較熟悉的語言,或是方便執行的語言
然後和ChatGPT進行題目的敘述
方式大致上可以有兩種,以下是示範
然後這是ChatGPT的回答
function calculateStringValues(inputArray) {
const charCodeA = 'A'.charCodeAt(0) - 1; // 取得大寫A的unicode碼 - 1
const charCodea = 'a'.charCodeAt(0) - 1; // 取得小寫a的unicode碼 - 1
const resultArray = [];
for (let str of inputArray) {
let sum = 0;
for (let i = 0; i < str.length; i++) {
let charCode = str.charCodeAt(i);
if (charCode >= 65 && charCode <= 90) { // 大寫字母
sum += charCode - charCodeA;
} else if (charCode >= 97 && charCode <= 122) { // 小寫字母
sum += charCode - charCodea;
} else if (charCode === 32) { // 空格
sum += 0;
}
}
if (sum === 100) {
resultArray.push(str);
}
}
return resultArray;
}
問題夠簡單,或是敘述的方式夠清楚,能讓ChatGPT明白任務內容和可能需要進行的防呆措施
那麼ChatGPT就能夠直接吐出一個可以執行的function
但若問題太複雜,或是ChatGPT吐出的答案執行起來都是錯的呢?
那麼你可以嘗試第二種方式
這個方式就比較需要有程式的邏輯思維了
那一樣用相同題目當作範例,我自己對於問題的拆解步驟是
實際詢問起來的步驟與效果我一一演示
用來找尋是否還有其他單字組合,是數字總合為100的
以下是ChatGPT回給我的
程式碼的右上角都有copy 的按鈕,可以輕易地複製ChatGPT提供的程式碼
function calculateStringSum(input) {
// 先將字串轉換為小寫以處理大小寫問題
input = input.toLowerCase();
let sum = 0;
for (let i = 0; i < input.length; i++) {
let charCode = input.charCodeAt(i);
if (charCode >= 97 && charCode <= 122) { // 檢查是否為英文字母
sum += charCode - 96; // 97 - 1 = 96, 98 - 1 = 97, ...
} else if (charCode === 32) { // 空格當作0
sum += 0;
}
}
return sum;
}
function validateStringArray(arr) {
let result = [];
for (let i = 0; i < arr.length; i++) {
let sum = calculateStringSum(arr[i]);
if (sum === 100) {
result.push(arr[i]);
}
}
return result;
}
只要打開F12就可以直接接上去在console中執行
然後把ChatGPT提供的內容放進去function的參數中
第一波給的單字裡面沒有,沒關係我們再要更多個
然後跑看看
哇哦居然找到了!
我也很意外有找到,而且是blissful 呢
如果這個問題,直接丟ChatGPT,他給你的單字有高機率是唬爛的,或是已經被找出來的
將問題拆解成程式問題,然後用程式的方式去解決,再請ChatGPT提供協助,會是最好的
並不是工程師的基底能力不重要,而是會有其他的能力逐漸變得重要
像是「敘述問題的能力」,也許在未來的AI世代中,將會變成一項重要的能力指標
我是期待著AI能夠帶來更多進步的前端工程師一宵三筵,我們明天見!